import java.io.Serializable;
import java.util.GregorianCalendar;
import java.util.HashSet;;


/**
 * Class Auteur
 * 
 */
public class Auteur implements Serializable {

	/**************************************************************************************************************
	 * Les attributs statics
	 */
	private static final long serialVersionUID = 1L;

	/**************************************************************************************************************
	 * Les attributs 
	 */
	private String _nom;
	private String _prenom;
	private int _id;
	private HashSet<Article> _lesArticles;	
	private HashSet<Ouvrage> _lesOuvrages;
	

	/**************************************************************************************************************
	 * Méthodes
	 */
	
	/**
	 * Construit un auteur et initialise les attributs _articles et _ouvrages à des HashSet vide
	 * @param id
	 * @param nom
	 * @param prenom
	 */
	public Auteur(int id, String nom, String prenom) {
		this.setNom(nom);
		this.setPrenom(prenom);
		this.setId(id);
		this.setArticles(new HashSet<Article>());
		this.setOuvrages(new HashSet<Ouvrage>());
	}


	/**************************************************************************************************************
	 * Setters
	 */
		
	public void setArticle(Article a){
		this.getArticles().add(a);
	}	
	
	///////////////////////////////////
	public void setArticles(HashSet<Article> articles){
		_lesArticles = articles;
	}	
	
	/**
	 * Lier l'auteur à l'ouvrage
	 * @param o
	 */
	public void setOuvrage(Ouvrage o){
		this.getOuvrages().add(o);
	}	
	
	/**
	 * Lier l'auteur aux ouvrages
	 * @param ouvrages
	 */
	public void setOuvrages(HashSet<Ouvrage> ouvrages){
		_lesOuvrages = ouvrages;
	}	
	
	///////////////////////////////////
	public void setNom(String n){
		_nom = n;
	}
	
	///////////////////////////////////
	public void setPrenom(String p){
		_prenom = p;
	}

	public void setId(int id){
		 _id = id;
	}

	/**************************************************************************************************************
	 * GETTERS
	 */
	public String getNom(){
		return _nom ;
	}

	///////////////////////////////////
	public String getPrenom(){
		return _prenom;
	}
	///////////////////////////////////
	public int getId(){
		return _id;
	}
	
	///////////////////////////////////
	public HashSet<Ouvrage> getOuvrages(){
		return _lesOuvrages;
	}
	
	///////////////////////////////////
	public HashSet<Article> getArticles(){
		return _lesArticles;
	}
	
}
